home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / lang / mc302 / microcad / microcad.doc < prev    next >
Text File  |  1994-03-18  |  16KB  |  411 lines

  1. MICROCAD is a very small drawing program (less than 12k!)
  2.  
  3. It has commands for drawing/erasing/moving/copying such things as lines,
  4. boxes, circles, arcs, graphical text and other drawings as "group" objects.
  5. It also features a "display" mode, where it can be used as a simple viewer,
  6. and includes an MCPRINT utility to print your drawings.
  7.  
  8. This is not intended as a serious drafting package, however it is useful as
  9. a means of transmitting simple drawings via diskette, or modem. MICROCAD is
  10. "free", and may be used and distributed without payment or royalty.
  11.  
  12. The complete MICRO-C source code to MICROCAD is available free of charge
  13. from our BBS, and may prove useful to anyone wishing to experiment with a
  14. drawing editor, or add support for other devices.
  15.  
  16. In its current form, MICROCAD requires a mouse, a VGA display (it works
  17. at 640x480), and either an HP LASERJET or EPSON DOT-MATRIX printer. It
  18. should be fairly easy to modify it for compatibility with other devices.
  19.  
  20.  
  21. The MICROCAD command:
  22. --------------------
  23.  
  24. The MICROCAD command has the following syntax:
  25.  
  26.    MICROCAD [drawing file] [F=font file] [/Display]
  27.  
  28.    [drawing file] is the name of a file containing a drawing that you
  29. wish to edit. The extension '.DWG' is assumed. If you do not specify a
  30. file name, MICROCAD assumes its default name MICROCAD.DWG. This default
  31. drawing file normally contains a blank drawing, and is used only to
  32. establish the default settings for the "S)etup" values.
  33.  
  34.    [font file] is the name of a file containing a character set font that
  35. will be used to display any text in the drawing file. If you do not specify
  36. a font file, The default MICROCAD.FNT is assumed.
  37.  
  38.    [/Display] causes MICROCAD to act as a viewer. The mouse is not
  39. activated, the grid is disabled (even if it is turned on in the drawing),
  40. and the drawing is displayed. Pressing any key will terminate the MICROCAD
  41. at this point.
  42.  
  43. Mouse:
  44. -----
  45.  
  46. MICROCAD uses only the LEFT and RIGHT mouse buttons, allowing it to be
  47. used with either a two or three button pointing device.
  48.  
  49. When sitting at the top command level (no command text visible at the
  50. top of the screen), the mouse buttons function as follows:
  51.  
  52.    LEFT   - Brings up the command menu at the top of the screen. Pressing
  53.             the key corrsponding to a command will active that command.
  54.  
  55.    RIGHT  - Activates the last command that you executed. This is a useful
  56.             way to perform multiple operations, such as drawing multiple
  57.             box's etc.
  58.  
  59. Unless noted otherwise, the mouse buttons behave as follows once a command
  60. has been activated:
  61.  
  62.    LEFT   - Performs an operation for which you are being prompted at the
  63.             top of the screen. Some commands may have several locations that
  64.             have to be selected. For each location, you will receive a
  65.             prompt at the top of the screen. Simply move the mouse pointer
  66.             to the desired location, and press the LEFT button.
  67.  
  68.    RIGHT  - Cancels the operation. In most cases this will return you directly
  69.             to the top command level (no command active). In some cases, this
  70.             will cancel a sub-function, and permit you to continue with the
  71.             command.
  72.  
  73. Main COMMANDS:
  74. -------------
  75.  
  76. The following commands are available from within MICROCAD at the top
  77. command level.
  78.  
  79. A)rc
  80.  
  81. Prompts you for a "center" point, a starting point, and an ending point.
  82. Draws an arc clockwise from the starting point to the ending point, which
  83. would be a portion of a circle centered about the center point.
  84.  
  85. B)ox
  86.  
  87. This command prompts you to select two corners, and after the second
  88. one is selected, MICROCAD will draw a BOX with diagonal corners on those
  89. points.
  90.  
  91. C)ircle
  92.  
  93. Prompts you to select a center point, and then a second point. MICROCAD
  94. will draw a circle about the center point, which includes the second point
  95. in its circumference.
  96.  
  97. D)up
  98.  
  99. Prompts you to select an object, and then for a new insertion point. The
  100. object is copied to the new point. Most useful for duplicating a "group"
  101. that you have included from another file, or insuring that you get a circle
  102. of exactly the same size etc. Duplicating an object takes only 7 bytes in
  103. the drawing file, no matter how large or complicated the object is.
  104.  
  105. See the E)rase command below for details on selecting an object.
  106.  
  107. E)rase
  108.  
  109. Prompts you to select an object. To select an object, you must position
  110. the cursor over the BASE POINT of that object. In general, the base point
  111. will be the first point that you selected when defining the object.
  112.  
  113. To make it easier for you, MICROCAD constantly watches the cursor
  114. position when this command is executed, and selects any object who's
  115. base point comes in contact with the cursor. Once an object is selected,
  116. MICROCAD indicates so, by temporarily removing it from the screen. Press
  117. the LEFT button to accept this, and permanently erase the object.
  118.  
  119. If you accidently select an object that you don't want to erase, just
  120. move the cursor away from it, and press the RIGHT button. MICROCAD will
  121. restore it to the screen, and continue to search for other objects.
  122.  
  123. If more than one object has its base point at the same location, MICROCAD
  124. will select the one which was defined first. You may accept this with the
  125. LEFT button, or press the RIGHT button to switch to the next oldest one.
  126. If you wish to cancel the selection in this case, you must keep pressing the
  127. RIGHT button until all objects at that location have been skipped.
  128.  
  129. You may use the S)etup / B)ase-markers command to cause the base points
  130. of all objects in the drawing to be made visible.
  131.  
  132. F)unc
  133.  
  134. This command brings up menu of misc. functions:
  135.  
  136.    F)ont
  137.  
  138.    Prompts you for a new character font file, and if given, loads it, and
  139.    re-draws the drawing, using the new font.
  140.  
  141.    I)nsert
  142.  
  143.    Prompts you for a drawing filename, and then an insertion point. Inserts
  144.    the contents of that drawing into the current drawing as a single object.
  145.    The base point of the new object is the upper left corner of an invisible
  146.    box, just large enough to include all object base points in the included
  147.    drawing. This point will be shown by the cursor while selecting the new
  148.    object location.
  149.  
  150.    If you wish to insert the same drawing several times, it takes much less
  151.    space in the drawing file if you insert it once, and then use the duplicate
  152.    function to create the other instances.
  153.  
  154.    L)oad
  155.  
  156.    Prompts for a filename, and loads a drawing from that file. Any unsaved
  157.    changes to the current drawing are lost.
  158.  
  159.    Q)uit
  160.  
  161.    Terminates MICROCAD.
  162.  
  163.    S)ave
  164.  
  165.    Prompts for a filename, and saves the current drawing to that file.
  166.  
  167. L)ine
  168.  
  169. Prompts for a starting point, and then a series of end points. Each
  170. time you select a new point, a line is drawn to it from the previous point.
  171. Press the RIGHT button to stop drawing lines.
  172.  
  173. M)ove
  174.  
  175. Prompts you to select an object, and then for its new base point.
  176. The object is then repositioned in the drawing.
  177.  
  178. See the 'E)rase' command for details on selecting an object.
  179.  
  180. R)edraw
  181.  
  182. Redisplays the drawing. This is useful to see any objects which are
  183. overwritten by the text line at the top of the screen, and to "fix"
  184. any breaks in lines, or missing grid markers causes by erasing of
  185. overlaid objects.
  186.  
  187. S)etup
  188.  
  189. Brings up a menu of setup subcommands:
  190.  
  191.    B)ase-markers
  192.  
  193.    This command toggles ON/OFF the display of base points. See E)rase command
  194.    for a description of base points. When ON, the base point for each object
  195.    in the drawing will appear surrounded by a tiny box.
  196.  
  197.    C)urser-base
  198.  
  199.    Prompts you to select a base point for the cursor. After you select one,
  200.    the cursor position shown in the upper right corner of the screen, will
  201.    be relative to this position.
  202.  
  203.    G)rid
  204.  
  205.    Prompts for the spacing (in pixels) of the grid markers. Entering a
  206.    blank line, or a value of zero turns off grid markers. Grid markers
  207.    are simply "dots" placed at regular intervals, which you can use
  208.    as a reference for aligning objects etc.
  209.  
  210.    S)nap
  211.  
  212.    Prompt for the spacing of "snap stops". When snap is enabled, the
  213.    cursor is forced to "snap" into a grid of evenly placed stops. This
  214.    makes it MUCH easier to align objects that you create. The "snap" grid
  215.    should normally be set to some even fraction of the "G)rid" markers,
  216.    although this is not enforced. Entering a blank line, or a value of
  217.    zero turns off "snap", allowing the cursor to roam free.
  218.  
  219.    T)ext-scale
  220.  
  221.    This defines the size of text characters. Only affects text created
  222.    after this command is used, allowing you to have several different
  223.    sizes of text in the same drawing.
  224.  
  225.    The character set fonts used by MICROCAD are built on a matrix which
  226.    is 16 pixels wide, by 24 pixels high. A scale value of 100 indicates
  227.    that this original size will be used. A value of 50 would result in
  228.    characters half as high and wide, while 200 would double the height
  229.    and width.
  230.  
  231. NOTE: All of the above settings are saved in the drawing file, and will
  232. therefore be restored when you subsequently edit the drawing.
  233.  
  234. T)ext
  235.  
  236. Inserts a text string into the drawing. You will be prompted for the
  237. string to be inserted, and then for the position in the drawing.
  238.  
  239. U)ndo
  240.  
  241. Erases the last object which was created. Undo may be repeated, and each
  242. time the youngest living object is removed. NOTE that U)ndo cannot reverse
  243. operations like M)ove or E)rase.
  244.  
  245. MCPRINT Utility:
  246. ---------------
  247.  
  248. MICROCAD includes MCPRINT, which will print your drawing on an HP LaserJet
  249. series or EPSON dot-matrix printer. MCPRINT works by building a raster bitmap
  250. from your drawing, and then sending it to the printer. It should be fairly
  251. easy to modify MCPRINT to work with other printers.
  252.  
  253. The syntax of the MCPRINT command is:
  254.  
  255.    MCPRINT <drawing file> <printer type> [F=font file] [D=device]
  256.  
  257.    <drawing file> is the name of a file containing the drawing that you
  258. wish to print. The extension '.DWG' is assumed.
  259.  
  260.    <printer type> indicates which kind of printer you have. It should be
  261. either LASERJET or EPSON.
  262.  
  263.    [font file] is the name of a file containing a character set font that
  264. will be used to display any text in the drawing file. If you do not specify
  265. a font file, The default MICROCAD.FNT is assumed.
  266.  
  267.    [device] is the DOS device to which the printer output will be written.
  268. If you do not specify one, "LPT1" is assumed. You may also use this option
  269. to direct the output to a file.
  270.  
  271. Misc. Notes:
  272. -----------
  273.  
  274. MICROCAD does all of its internal calculations using 16 bit arithmetic.
  275. Bacause of this, circles or arcs having a very large radius may not display
  276. correctly. This is because these objects require manipulation of squares of
  277. values, which may overflow 16 bits.
  278.  
  279. The GRID markers are not recorded as part of the object, and will "disappear"
  280. if you M)ove, E)rase or U)ndo something that was on top of them. They will be
  281. restored any time the screen is redrawn.
  282.  
  283. Character Fonts:
  284. ---------------
  285.  
  286. The following characters font files are included with MICROCAD:
  287.  
  288.    MICROCAD.FNT - This is the default MICROCAD font. It is a reasonable
  289.                   quality font, which scales fairly well.
  290.    HIGHRES.FNT  - This is a higher quality font, however it does not
  291.                   scale to small sizes quite as well as MICROCAD.FNT.
  292.    MATRIX.FNT   - A low (8x8) resolution font which looks like the
  293.                   output from a dot matrix printer.
  294.    THINLINE.FNT - A thin spidery font.
  295.  
  296. MICROCAD also includes a "font editor" (FE.COM) which allows you to create
  297. and edit your own font files. The program is fairly self explainatory, just
  298. run it and specify the name of the font file as an argument.
  299.  
  300. Drawing File Format:
  301. -------------------
  302.  
  303. All entries in the drawing files produced by MICROCAD consist of 8 bit bytes
  304. and 16 bit words. Word values are stored with the most significant byte first.
  305.  
  306. The first few bytes of the drawing file contain the "S)etup" values:
  307.  
  308.    Word = Grid spacing (0 = disable)
  309.    Word = Snap spacing (0 = disable)
  310.    Word = Text scale (100 = 1:1)
  311.    Word = Cursor base X position
  312.    Word = Cursor base Y position
  313.    Byte = Basepoint display: 0 = ON, 1=OFF
  314.  
  315. Following the settings, the file will contain zero or more "objects",
  316. representing lines, circles etc. The form of each type of object is:
  317.  
  318. END:    Byte = 0x00
  319.         This is not required by MICROCAD, and is not normally produced by
  320.         the program, however, an object consisting of a single 0x00 byte
  321.         causes MICROCAD to stop drawing. This has two effects:
  322.          1- If you are going to transmit the file using a protocol such as
  323.             XMODEM which adds garbage to the end of the file, you could first
  324.             append an END object to avoid "Corrupt drawing file".
  325.          2- Once the END object is encountered, further additions to the
  326.             drawing although recorded, are not displayed when the file is
  327.             redrawn or reloaded.
  328.  
  329. LINE:   Byte = 0x01
  330.         Word = Absolute X position of first point
  331.         Word = Absolute Y position of first point
  332.         Word = Relative X position of second point
  333.         Word = Relative Y position of second point
  334.  
  335. BOX:    Byte = 0x02
  336.         Word = Absolute X position of first point
  337.         Word = Absolute Y position of first point
  338.         Word = Relative X position of second point
  339.         Word = Relative Y position of second point
  340.  
  341. CIRCLE: Byte = 0x03
  342.         Word = Absolute X position of center point
  343.         Word = Absolute Y position of center point
  344.         Word = Radius of circle
  345.  
  346. TEXT:   Byte = 0x04
  347.         Word = Absolute X position of text
  348.         Word = Absolute Y position of text
  349.         Word = Scale of text (100 = 1:1 = 16x24)
  350.         Bytes= Text string
  351.         Byte = 0 (zero termination)
  352.  
  353. ARC:    Byte = 0x05
  354.         Word = Absolute X position of center point
  355.         Word = Absolute Y position of center point
  356.         Word = Radius of arc
  357.         Word = Angle (0-255) to starting point.
  358.         Word = Angle (0-255) to ending point.
  359.         Angle:  0
  360.                 |
  361.           192 --+-- 64
  362.                 |
  363.                128
  364.  
  365. GROUP:  Byte = 0x06
  366.         Word = Abolute X position of group
  367.         Word = Abolute Y position of group
  368.         Word = Size of following objects (in bytes)
  369.         ...    Zero of more objects follow...
  370.                X/Y positions are relative to group start.
  371.  
  372. ACOPY:  Byte = 0x07
  373.         Word = Absolute X position of copy
  374.         Word = Absolute Y position of copy
  375.         Word = Byte offset of copied object from first object in file
  376.  
  377. RCOPY:  Byte = 0x08
  378.         Word = Absolute X position of copy
  379.         Word = Absolute Y position of copy
  380.         Word = Byte offset of copied object from beginning of this object
  381.  
  382. The absolute copy is used whenever an object is duplicated via the D)up
  383. function in MICROCAD. This form is more easy to manipulate when dealing
  384. with discrete objects.
  385.  
  386. When objects are "grouped" (a drawing is inserted), any ACOPY objects are
  387. changed to the relative RCOPY, so that we do not have to worry about them
  388. shifting due to E)rase etc. This makes it much easier to treat the entire
  389. group as a single object. This is safe to do, since the ACOPY must reference
  390. an object in the same group, and the contents of a group are never altered.
  391.  
  392. This drawing file format is hearby placed in the public domain.
  393.  
  394. Finally:
  395. -------
  396.  
  397. If anyone significantly enhances MICROCAD, or does something else truly
  398. useful with it, I'd like to see the results.
  399.  
  400.       Dave Dunfield
  401.       Dunfield Development Systems
  402.       P.O. Box 31044
  403.       Nepean, Ontario Canada
  404.       K2B 8S8
  405.       TEL: (613) 256-5820      BBS: Dial '2' at voice prompt
  406.       FAX: (613) 256-5821       eg: atdt16132565820,,,,,,,2222
  407.  
  408. MICROCAD and its related utilities are compiled using the PC version of
  409. my MICRO-C compiler. For more information on MICRO-C and my other products,
  410. see the CATALOG file in this archive.
  411.